package runesim.shared;
/**
 * Houses response codes used in login processes.
 * 
 * @author Ben
 */
public class ResponseCodes {
	
	/**
	 * Server has no response to this session.
	 */
	public static final int RESPONSE_NO_RESPONSE = -1;
	
	/**
	 * Begin exchange of keys.
	 */
	public static final int RESPONSE_EXCHANGE_KEYS = 0;
	
	/**
	 * Wait two seconds.
	 */
	public static final int RESPONSE_WAIT = 1;
	
	/**
	 * Login succeed.
	 */
	public static final int RESPONSE_OK = 2;
	
	/**
	 * Invalid user name and/or password.
	 */
	public static final int RESPONSE_INVALID_LOGIN = 3;
	
	/**
	 * Use is banned (account disabled).
	 */
	public static final int RESPONSE_BANNED = 4;
	
	/**
	 * An account is already logged in.
	 */
	public static final int RESPONSE_LOGGED_IN = 5;
	
	/**
	 * The server has just been updated. User should restart client. This is a
	 * response when the client's version is lower than the server's.
	 */
	public static final int RESPONSE_UPDATED = 6;
	
	/**
	 * Number of players on is at or exceeds the max players (2000).
	 */
	public static final int RESPONSE_WORLD_FULL = 7;
	
	/**
	 * The server is off-line.
	 */
	public static final int RESPONSE_OFFLINE = 8;
	
	/**
	 * The user has more than one connection active to the server.
	 */
	public static final int RESPONSE_LOGIN_EXCEEDED = 9;
	
	/**
	 * The session is bad.
	 */
	public static final int RESPONSE_BAD_SESSION = 10;
	
	/**
	 * The server rejected the session.
	 */
	public static final int RESPONSE_REJECT = 11;
	
	/**
	 * The user needs a member account to connect.
	 */
	public static final int RESPONSE_NEED_MEMBERS = 12;
	
	/**
	 * The login failed. TODO Compare to RESPONSE_BAD_SESSION.
	 */
	public static final int RESPONSE_LOGIN_FAIL = 13;
	
	/**
	 * The server is being updated.
	 * 
	 * @see #RESPONSE_UPDATED
	 */
	public static final int RESPONSE_UPDATING = 14;
	
	/**
	 * The full purpose of this is unknown. My idea is if the user is
	 * reconnecting, it prevents them from losing everything they were doing.
	 * Such as chat, tab selected, and that kind of stuff. Note: DO NOT re-send
	 * privilege and flag bytes!
	 */
	public static final int RESPONSE_SESSION_RECONNECTING = 15;
	
	/**
	 * The user has entered too many incorrect passwords.
	 */
	public static final int RESPONSE_BAD_LOGINS = 16;
	
	/**
	 * The user is standing in a members area and trying to enter a free world.
	 */
	public static final int RESPONSE_IN_MEMBERS = 17;
	
	/**
	 * The server has contacted an off-line server to get the profile from.
	 */
	public static final int RESPONSE_INVALID_SERVER = 20;
	
	/**
	 * The user's profile must be transfered from another server.
	 */
	public static final int RESPONSE_TRANSFER = 21;
	
	/**
	 * The user's computer was blocked by IP address.
	 */
	public static final int RESPONSE_IP_BANNED = 26;
}
